from define import * from menu import * from img import * from common import * import os, shutil class custom_simple_menu(): # Custom simple menu def show_text(self, dirs): "Draw the main screen with the selected item" img_clear_game("ms0:/PSP/GAME/"+self.get()+"/icon0.png") fnt.drawText(img3, 0, 0, "Press Select for help") fnt.drawText(img3, 10, 150, dirs[pos1]) scr.blit(img3) scr.swap() def get(self): "Return the currently selected item" return dirs[pos1] def init(self, dirs_): "Initialize the menu into it's default state" global pos1, dirs pos1 = 0 dirs = dirs_ self.show_text(dirs) def up(self): "Move selection up" global pos1 try: pos1 -= 1 self.show_text(dirs) except: pos1 = len(dirs)-1 self.show_text(dirs) def down(self): "Move selection down" global pos1 try: pos1 += 1 self.show_text(dirs) except: pos1 = 0 self.show_text(dirs) class custom_adv_menu(): # Custom menu to show icon0.png def get(self): "Return the currently selected item" return the_entries[pos1][entries_pos[2]] def show_items(self,entry): "Draw the main screen with the selected item" img_clear_game_adv("ms0:/PSP/GAME/"+self.get()+"/icon0.png") offset = 30 offset2 = 20 for i in entry: num = entry.index(i) num = str(num) last_num = num[-1:] last_num = int(last_num) num = int(num) pos = last_num*entries_pos[0] fnt.drawText(img3, offset, pos, str(i)) fnt.drawText(img3, offset2, entries_pos[2]*entries_pos[0], "> ") scr.blit(img3) scr.swap() def init(self, entries): "Initialize the menu into it's default state" global entries_pos, the_entries, pos1 pos1 = 0 the_entries = [entries[i:i+10] for i in range(0, len(entries), 10)] self.show_items(the_entries[0]) def down(self): "Move selection down" global pos1 if (entries_pos[2]+1) != len(the_entries[pos1]): entries_pos[2] += 1 self.show_items(the_entries[pos1]) elif (entries_pos[2]+1) == len(the_entries[pos1]): try: pos1 += 1 entries_pos[2] = 0 self.show_items(the_entries[pos1]) except: pos1 = 0 entries_pos[2] = 0 self.show_items(the_entries[pos1]) def up(self): "Move selection up" global pos1 if entries_pos[2] != len(the_entries[pos1]): entries_pos[2] -= 1 self.show_items(the_entries[pos1]) if entries_pos[2] < 0: try: pos1 -= 1 entries_pos[2] = len(the_entries[pos1])-1 self.show_items(the_entries[pos1]) except: pos1 = 0 entries_pos[2] = len(the_entries[pos1])-1 pos1 -= 1 self.show_items(the_entries[pos1]) def run_eboot(path): file1 = open("ms0:/path.txt","w") if os.path.exists(path+"/EBOOT.PBP") == True: file1.write(path+"/EBOOT.PBP\n") file1.close() msg("Booting...") raise SystemExit elif os.path.exists(path+"/wmenu.bin") == True: file1.write(path+"/wmenu.bin\n") file1.close() msg("Booting...") raise SystemExit else: msg("No eboot found!") def delete(path): img_clear() img3.clear(CLEAR_COLOR) fnt.drawText(img3, 0, 0, "Press Start to delete homebrew") fnt.drawText(img3, 0, 30, "Press Cross to cancel") scr.blit(img3) scr.swap() x6 = True while x6 == True: pad = psp2d.Controller() if pad.cross: x6 = False game_select() elif pad.start: x6 = False shutil.rmtree(path) def game_select(): root, dirs, files = os.walk("ms0:/PSP/GAME").next() for i in dirs: if i.startswith("__sce__") or i.startswith("_sce_"): dirs.remove(i) for i in dirs: if i.startswith("__SCE__") or i.startswith("_SCE_"): dirs.remove(i) menu = simple_menu() menu.init(dirs) x7 = True while x7 == True: delay() pad = psp2d.Controller() if pad.down: menu.down() elif pad.up: menu.up() elif pad.cross: x7 = False run_eboot(root+"/"+menu.get()) elif pad.circle: x7 = False elif pad.select: x7 = False help("game_select") elif pad.triangle: x7 = False delete(root+"/"+menu.get()) elif pad.square: x7 = False game_select_icon() def game_select_icon(): root, dirs, files = os.walk("ms0:/PSP/GAME").next() for i in dirs: if i.startswith("__sce__") or i.startswith("_sce_"): dirs.remove(i) for i in dirs: if i.startswith("__SCE__") or i.startswith("_SCE_"): dirs.remove(i) menu = custom_simple_menu() menu.init(dirs) x9 = True while x9 == True: delay() pad = psp2d.Controller() if pad.down: menu.down() elif pad.up: menu.up() elif pad.cross: x9 = False run_eboot(root+"/"+menu.get()) elif pad.circle: x9 = False elif pad.select: x9 = False help("game_select_icon") elif pad.triangle: x9 = False delete(root+"/"+menu.get()) game_select_icon() elif pad.square: x9 = False game_select() def game_select_adv(): root, dirs, files = os.walk("ms0:/PSP/GAME").next() for i in dirs: if i.startswith("__sce__") or i.startswith("_sce_"): dirs.remove(i) for i in dirs: if i.startswith("__SCE__") or i.startswith("_SCE_"): dirs.remove(i) menu = adv_menu() menu.init(dirs) x7 = True while x7 == True: delay() pad = psp2d.Controller() if pad.down: menu.down() elif pad.up: menu.up() elif pad.cross: x7 = False run_eboot(root+"/"+menu.get()) elif pad.circle: x7 = False elif pad.select: x7 = False help("game_select") elif pad.triangle: x7 = False delete(root+"/"+menu.get()) game_select_adv() elif pad.square: x7 = False game_select_icon_adv() def game_select_icon_adv(): root, dirs, files = os.walk("ms0:/PSP/GAME").next() for i in dirs: if i.startswith("__sce__") or i.startswith("_sce_"): dirs.remove(i) for i in dirs: if i.startswith("__SCE__") or i.startswith("_SCE_"): dirs.remove(i) menu = custom_adv_menu() menu.init(dirs) x7 = True while x7 == True: delay() pad = psp2d.Controller() if pad.down: menu.down() elif pad.up: menu.up() elif pad.cross: x7 = False run_eboot(root+"/"+menu.get()) elif pad.circle: x7 = False elif pad.select: x7 = False help("game_select") elif pad.triangle: x7 = False delete(root+"/"+menu.get()) game_select_icon_adv() elif pad.square: x7 = False game_select_adv()